{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd\n",
    "from sklearn.decomposition import PCA\n",
    "df = pd.read_excel('./emploee.xls')\n",
    "\n",
    "col = list(df.columns)\n",
    "col\n",
    "\n",
    "df[col] = df[col].apply(pd.to_numeric, errors='coerce').fillna(0.0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['一级部门', '二级部门', '填写人', '日报日期', '归属项目', '工作类型', '工时', '工作内容', '关联禅道任务']"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df = pd.DataFrame(df, dtype='float')\n",
    "X = df.values\n",
    "X\n",
    "col"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "#调用PCA\n",
    "pca = PCA(n_components=2)           #实例化\n",
    "pca = pca.fit(X)                    #拟合模型\n",
    "X_dr = pca.transform(X)             #获取新矩阵"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[1.66157315, 0.        ],\n",
       "       [1.66157315, 0.        ],\n",
       "       [0.66157315, 0.        ],\n",
       "       ...,\n",
       "       [1.66157315, 0.        ],\n",
       "       [1.66157315, 0.        ],\n",
       "       [1.66157315, 0.        ]])"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X_dr"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_dr.shape\n",
    "X_dr[:,0:1]\n",
    "X_f = X_dr.flatten()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11b943090>]"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "plt.plot(X_f)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.DataFrame(df, dtype='float')\n",
    "tm=df['工时'].values"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x11c199ed0>]"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXoAAAD4CAYAAADiry33AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nO2deXwV1fn/P082lrAESAxrCAKCyE4EFRdcUECrxapFrbtF/alVW9vG2qrf9ltrbbX2W1G+tvBVWxF3RUEWrRbcwICAIFtElhAMYQfZsjy/P+7Mzdx7Z+6d/c6dPO/XK6/MnTlzzjNnznzmmbMSM0MQBEEIL1npNkAQBEHwFhF6QRCEkCNCLwiCEHJE6AVBEEKOCL0gCELIyUm3AXoUFhZyaWlpus0QBEHIGJYuXbqTmYv0jgVS6EtLS1FRUZFuMwRBEDIGItpsdEyqbgRBEEKOCL0gCELIEaEXBEEIOSL0giAIIUeEXhAEIeSkFHoi6kFEHxDRGiJaTUR3Kfs7EtECItqg/O9gcP44IlpHRJVEVO72BQiCIAjJMePR1wP4GTOfCOAUALcT0QAA5QDeZ+a+AN5XfsdARNkApgAYD2AAgCuVcwVBEASfSCn0zLydmZcp2wcArAHQDcAlAJ5Tgj0H4Ps6p48EUMnMG5n5GICZynmhhpnx6tIqHKlrSLcpgiAI1uroiagUwDAAiwEUM/N2IPIyAHCczindAGzV/K5S9unFPZmIKoioora21opZgePDdbW495UVeHTuunSbIgiCYF7oiagNgNcA3M3M+82eprNPd6UTZn6GmcuYuayoSHcUb8aw/0gdAKD24NE0WyIIgmBS6IkoFxGRf4GZX1d21xBRF+V4FwA7dE6tAtBD87s7gGr75gqCIAhWMdPrhgBMA7CGmR/XHJoF4Dpl+zoAb+mc/jmAvkTUi4jyAExSzhMEQRB8woxHPxrANQDOIaLlyt8EAI8AGEtEGwCMVX6DiLoS0RwAYOZ6AHcAmIdII+7LzLzag+sQBEEQDEg5eyUzfwT9unYAOFcnfDWACZrfcwDMsWugIAiC4AwZGSsIghByROgFQRBCjgi9IAhCyBGhFwRBCDki9IIgCCFHhF4QBCHkiNALgiCEHBF6QRCEkCNCLwiCEHJE6AVBEEKOCL0gCELIEaEXBEEIOSL0giAIIUeEXhAEIeSI0AuCIIQcEXpBEISQk3LhESKaDuAiADuYeaCy7yUA/ZQgBQD2MvNQnXM3ATgAoAFAPTOXuWS3IAiCYJKUQg/gWQBPAnhe3cHMP1S3iegxAPuSnH82M++0a6AgCILgDDNLCS4kolK9Y8rC4VcAOMddswRBEAS3cFpHfwaAGmbeYHCcAcwnoqVENNlhWoIgCIINzFTdJONKAC8mOT6amauJ6DgAC4hoLTMv1AuovAgmA0BJSYlDswRBEAQV2x49EeUAuBTAS0ZhmLla+b8DwBsARiYJ+wwzlzFzWVFRkV2zBEEQhDicVN2cB2AtM1fpHSSifCJqq24DOB/AKgfpCYIgCDZIKfRE9CKATwH0I6IqIrpJOTQJcdU2RNSViOYoP4sBfEREKwAsATCbmee6Z7ogCIJgBjO9bq402H+9zr5qABOU7Y0Ahji0TxAEQXCIjIwVBEEIOSL0giAIIUeEXhAEIeSI0AuCIIQcEXpBEISQI0IvCIIQckToBUEQQo4IvSAIQsgRoRcEQQg5IvSCIAghR4ReEAQh5IjQC4IghBwRekEQhJAjQi8IghByROgFQRBCjgi9IAhCyBGhFwRBCDlmlhKcTkQ7iGiVZt9DRLSNiJYrfxMMzh1HROuIqJKIyt00XBAEQTCHGY/+WQDjdPb/hZmHKn9z4g8SUTaAKQDGAxgA4EoiGuDEWEEQBME6KYWemRcC2G0j7pEAKpl5IzMfAzATwCU24hEEQRAc4KSO/g4iWqlU7XTQOd4NwFbN7yplny5ENJmIKoioora21oFZgiAIgha7Qv80gN4AhgLYDuAxnTCks4+NImTmZ5i5jJnLioqKbJolCIIgxGNL6Jm5hpkbmLkRwN8RqaaJpwpAD83v7gCq7aQnCIIg2MeW0BNRF83PiQBW6QT7HEBfIupFRHkAJgGYZSc9QRAEwT45qQIQ0YsAxgAoJKIqAA8CGENEQxGpitkE4BYlbFcA/2DmCcxcT0R3AJgHIBvAdGZe7clVCIIgCIakFHpmvlJn9zSDsNUAJmh+zwGQ0PVSEARB8A8ZGSsIghByROgFQRBCjgi9IAhCyBGhFwRBCDki9IIgCCFHhF4QBCHkiNALgiCEHBF6QRCEkCNCLwiCEHJE6AVBEEKOCL0gCELIEaEXBEEIOSL0giAIIUeEXhAEIeSI0AuCIIQcEXpBEISQk1LoiWg6Ee0golWafX8iorVEtJKI3iCiAoNzNxHRl0S0nIgq3DRcEARBMIcZj/5ZAOPi9i0AMJCZBwNYD+C+JOefzcxDmbnMnomCIAiCE1IKPTMvBLA7bt98Zq5Xfn4GoLsHtgmCIAgu4EYd/Y0A3jU4xgDmE9FSIpqcLBIimkxEFURUUVtb64JZgiAIAuBQ6InofgD1AF4wCDKamYcDGA/gdiI60yguZn6GmcuYuayoqMiJWYIgCIIG20JPRNcBuAjA1czMemGYuVr5vwPAGwBG2k1PEARBsIctoSeicQB+CeBiZj5kECafiNqq2wDOB7BKL6wgCILgHWa6V74I4FMA/YioiohuAvAkgLYAFihdJ6cqYbsS0Rzl1GIAHxHRCgBLAMxm5rmeXEXA+WLLHuz+7phr8TEzPly3A42Nuh9SgiAEgModB7B1t64f7Ds5qQIw85U6u6cZhK0GMEHZ3ghgiCPrQsLEpz7B8YX5+Pe9Y1yJb86X3+L2GcvwwEUDcOPpvVyJUxAEdznv8YUAgE2PXJhmS2RkrG9s3Pmda3Ft33cYAFC157BrcQqCEF5E6AVBEEKOCL0gCELIEaFvRjQ0MlZs3ZtuM4SAsmP/EVTtCUbjoeAuIvQZDJG18FM+qMQlUz7Gsi17vDFIyGhGPvw+Tv/jB+k2Q/AAEfpmxFfV+wEANfuOpNkSQRD8RIReEAQh5IjQe4zB7BCCIAi+EUqhP1LXgOq9wehjHiSdZwTIGEEQfCOUQv/j5ytw2iP/TrcZABBIabXaiCsIQmYTSqFftGFnuk2I4kXVTZC+EgRBCD6hFPog4aUmi2MuCIIZROg9xgvvW+raBUGwggi9x3gpylLXHj72HjqGuobGdJvhCg2N7Or03IJ9Qi30QejaGAAThAxi6G8X4O6Zy9Nthis8Nn8dhv9uAXYdPJpuU5o9oRZ6WZdDyERmf7k93Sa4wrzV3wKAePUBwMwKU9OJaAcRrdLs60hEC4hog/K/g8G544hoHRFVElG5m4abIQgevSA0V0jqFgODGY/+WQDj4vaVA3ifmfsCeF/5HQMRZQOYAmA8gAEAriSiAY6stUgQZN6TxlglTnmQBEEwQ0qhZ+aFAHbH7b4EwHPK9nMAvq9z6kgAlcy8kZmPAZipnOcbzBGv/mh9g5/JxtoQiNdNBKOXjpd5lM68zzTCmlfBeQKsUdfQiIaQ1P/araMvZubtAKD8P04nTDcAWzW/q5R9vsFgPPLuWvT79VwcqUvPQxSk2qMmU2K/BJ79ZBP6/Xouava7O6vlog216PfruajYFO8nCPGs2rYP/X49N91muIpayoL0DFih7/3v4oInFqbbDFfwsjFWr17B8JYT0WQiqiCiitraWlcMYAZmfh5516RN6NOSanLia3xmragG4P4atB8pI5QrNsv896n4QhaECSSVOw6m2wRXsCv0NUTUBQCU/zt0wlQB6KH53R1AtVGEzPwMM5cxc1lRUZFNsxJRRS1dXkVzbhBuVK5dWhJSI3kkeIldoZ8F4Dpl+zoAb+mE+RxAXyLqRUR5ACYp5/mGVmPTJbeZIPNevYvUeLOk0bhZIrc9OJjpXvkigE8B9COiKiK6CcAjAMYS0QYAY5XfIKKuRDQHAJi5HsAdAOYBWAPgZWZe7c1l6MPgtHtKmeTQu/1gNkZ7B7kbbxiRPBK8xEyvmyuZuQsz5zJzd2aexsy7mPlcZu6r/N+thK1m5gmac+cw8wnM3JuZf+/lhejb3tQFMW1VKCaTXV9zAKXls6P12mai9FobSstn444Zy2yfH626ERWzzAm/fhfXTV+SsP/bfUdQWj4bby3flgar7JHOnmdbdx9CaflszF31bdpsCAIhHxnb5NGnr+rGXMqLv4n0THl3VbBGRb6z0rk9WaLzKaG41/ax+kb8Z31ip4R1NQcAAK8urfLFLifEX1M6WLVtHwDgzS8y58XoBaEWeq3Epq8xNj3pBgFpjHWfTMzL5vwMBIVwCz1ret2kyadvzmU82hgrLn1KzNZupbsXmRWkxi44hFroIypLmu00mBCgJ9JwZKxH6YlHLwjBINRCf/W0z6JexciH38ejc9dajmPmki0oLZ9tOODq7plf4NzHPjQ836yI/ubNyJxxLyzegnEWRuNt33cYpeWz8XFl8kbc/Ufq8N6aGgA6wuuRIEev3QXX7sN1O1BaPhs7XBi9O+rh96L5HRSMcmjf4TqUls/GOysNh6AY8sBbqzDq4fcsn1daPhvPf7op+nvG4sgzYHeKBie+zoAH5uLP89bZj8AFSstnY9PO79Jqg1NCLfSrtu2PeYCe+vBry3E88d4GAMCeQ/pTrb65vBpf1xoXAjuFfO23B8wFJKBiU2TU6YwlW5IG3bLrUOroXP7Wjk6+5kJcz3+6GQDwpdK45oSa/Ufxz882O47HD75RBOaZhRsBNDVwmqmKfP7TzajZb28u+Mfmr49uP74gIrT7D9fbistJtemhYw148oNK2+e7xaIN7ozWTxehFnrAuTOpnm93biMv2gYCVBuUgoihbgyYUquBwjr4KtVlqYf9qqN3M5szp7wak+lzm4Vf6B36k1lO++EHpICkQyAblRXx3Eg67IOvjMpputp4wpbNTh2uILW12SH0Qu8WGa7zSQXSKxs56tG7EFdzH3wVd93ee/TO81mNozHDRRIQjz7wmCmvd774BX7y4hcY9NA8/HttjanzX67YitP+8H7098eVOzHggbnYf6QuJlxQyrgZj94oRGn5bJSWz9ZdtHrKB5W46G+LdM9r8sKti8YdM5bhl6+ujP5W8/Hzb3bjxN/Mxb5DdQZnes/Bo/UY+OA8/ObNVRj62/nuzIxqkEXxxceu/H6z8zv0vX9OtM4/FXovZ7tesVoOZq/cjtLy2XholrmZUMx40dM/+gYX/MW484LVonff61/i9hcSR4MH5DG2TfiF3kSYt1dUY9aKahw4Uo8/vhvbwp9l4JX84tWVqN7X1APkiffW49CxBqzdHtuQGpSFR9zwqvfqiOuf5q3Dqm37dcM76V75zsrteKmiaTkDNa6nPqzE4boGLK9K37S+G2oO4ODRevzzs83Ye6gO2/e5O4+/HvF5aLVcvfHFNtQ1sIWpExLvWmPie94UqmD/19sRgX/2k02mzjOz6Mdv3/kqOlrYDV5cskV3zV6pugk4Vr3J+rjSbLYxtl4JkB2Xo0EpH2mp8XBx9kpV6HOUDG5M47e0F9VHRjEmlB+f7qPeJVqtglGjUG9VtkVvoyEoDw8yv/op9EJvlXj9MNsY2xgV+tgs9bJ4WGlodkOcrHqRTZOaOU46Kng5Wemv9/X3nanfzuH15etpst1l9dhmjym7XxBeIHX0AceqyCR49Mp/0x59QqOZB90rbbw+rIqTnt1WL0UN7oZHz3FeYVjW8lQxehHHLwTv10Rheuk47ZDgpUfv9ReeePQZzIvKqFctjY3A9f+3BG8t34b6hkZsjDZeJb/RqvBkmai6OVrfgNLy2fjRPxYDAH7y4hembf7j3LV4dK71kYLaQSfxoqJno96++Jksdx1sGoyzMq7O/P01NXhreWQ059vKUoUHj9Zj/F8XYcoHlbjs6U8MH855q5umlF2zPVL/rz5oB47UK791T8VdM7/A1f/4DNdMW6wfQMOjc9fqjpZubGSc/ecPUVo+G2Mf/090/7Ite/C9v32EGYtjB6dpX4q/eHUFSstn44n3mgYczV21HddMW4zy11Zi6n9iB+09+NYq/FUZlKfHz15ZobufESlHl0z5GEu+sb4m7ydf78QlUz7WbWAHDDx65uhI7NLy2bjXwDaVaLVn9GtXX+h/8+Yq/O39xDzQvsxvfu7zpGmpL4Wtuw/h/L/8BzsOHME7K6tx67+Mp9letKEWE5/6GPUGeaBF73nYuvsQzn3sQ+w4kLyN5oN1iQvw7Ttch3FPLMQGF9sXkhF6oU/mTN73+pcJ+xqZ8eG6Wtw1czl2HGgSslQvdLVQ5sQrvQ4blZG0HynTFqhrtprhaRujewHg9WWpG+G0eaXnwfzuna9ifs/VCPIf5sQK5h0zml5e76+NFPTFG3dhzfb9+NO8dajYvAeHDXqr/PfspnTUEZrx9hh5WG8tr8bHlbuwaMPOlF7eUx9+rTta+nBdQ7R3yoYdB6PxPPjWany5bV9MI3HElqbtlysi0wc/oRHvW/+1DIs27MTMz7fikXdj8+m5TzfjL++tN/TTNysjmuMHTIGBTTsPYcXWvfjVG4nlOBW/fG0lVmzdi+q9+usE631hNDLjlYqm6ZHNTpXc9GWnf/yfn23GYwvWJ+zX3r/31uitVtqE+vxN//gbrK85iFnLq2PKoB73vLQcX2zZi90Go9616H3hTvvoG3xd+x3eWZF8Ku87dez4z/parP32AP6q84LzgvALvcVPXa2HEyt8yc9rsNAYmwldwZ1+CeflJBat+Os28vC0tWfHlPsRb46ZT+ljJjw1PeJjVuMxum9+ViNpL1u1J1Vx0nvh5SkF9Vi9+TxqbGTd+2pEU0eG5B69EVaqbtR7YOV5V689L/6h1UH/y1w5P0We6OVx04vbHzGwLfRE1I+Ilmv+9hPR3XFhxhDRPk2YB5ybbNVOa+EPH2vyMrWFJpWwNEQLc3xjrPO67mRwwoaJc0wYYEZIkwXRK/xmr1t77jFlIq14rTIjrkctiFjSeOqSxxPfrmOHlFMgRKc+aLpus/mpJ5h5OdkAjPNIa496egOzKVGMx+7awfEvqGRVLGobmZX2q7oGC20AOkGPmRV6HbvV6Pzqtplj90RmXgdgKAAQUTaAbQDe0Am6iJkvspuO3xxSqhOIYgt7KmGpbzDfZ7y+Qfuw2r/Rdp0BMylaNSveFrteUvy56sMUn09mXkSR2RZzU4ZLtCs27lTx+OnRq0kx2LB+PfEcPaFXPHrDOnr9fvRWPHqV+IZ0s8S/oI41NEa71yaEtXEP1Pwzc6reC0Q9387Lz2/IjTcKEZ0P4EFmHh23fwyAe60KfVlZGVdUVFi2I75h1U3atsjBgaP2Zu+zy/CSAizb4t/AoILWuejRobXjGSLzcrISPlf7HtcGG3YcjNnXKjc7pp5+QJd2+Gq7/uCrZJzT/zj8e21iHe75A4pBBMxbHRntXNyuheFsjsNKCvD1joMY1L09Pq7cZdmGko6tsWV34gyhPTq2wtbd+vXgndu1xLcuTLsMAIVt8lDUtmW08VpL9w6tULWnyYbfTxyI+9/wdprmnCyKetlWyMvOMnz5dCtohUPH6rHHwajoNi1ycDDuOb5tTG98XLkTK6tSl3u9sq1lcPf2uHF0Lxw8Wo9f25gK+4y+hfjnTaMsnwcARLSUmct0j7kk9NMBLGPmJ+P2jwHwGoAqANWIiL7u+GcimgxgMgCUlJSM2LzZ+jSyXgq9IISFE4rbYH3NwdQBmwk9O7WONnq7wUWDuzhaa3nTIxfaOi+Z0Dv+5iCiPAAXA3hF5/AyAD2ZeQiAvwF40ygeZn6GmcuYuayoqMipWc2Cs07IvHy685w+6TbBEU9fPTzdJjgmZEMQHON2H3knsd10ei/X7NDiRuXSeES8+Zr4A8y8n5kPKttzAOQSUaELaQqwXucZBDJ83ElG9JhKRaYP/nEbt0fgOqklaWGjDcQMbsR6JYAX9Q4QUWdS+g8R0UglPesVoIIumbgIR5DmL2muyC2Ixe3GdCcvDjuN3Waw3esGAIioNYCxAG7R7LsVAJh5KoDLANxGRPUADgOYxJk+DVyAyIDG/gQy35vMvJdrPJl/D9zF/aobJx59touWNOFI6Jn5EIBOcfumarafBPBk/HmCO2SiR5/pGpOBWZ5A2OYJcorbQu8ke3M8qo7NQJ8wOHTKz0tr+plYRy8ik36STQ3Rv3NbHy0JBm4XyXSMjUmFCH0G49Xb30syvdog83I8EXnXxhIkj94rROgzGKm6EeyQ6S9bt3H7KzOIzZAi9BlMVgZ69EF8CKwQRG/NKsmuIcNvjy3cvmYnZcSrSc5CJfRn9G1eXfTjFznJBDJfKDP+AjL+Zes2rnevDGD+hkrorzu1NN0m+EomevSZTgCfYcskG8sQlMXs/cTNsR1BfSRDJfQZ6OA6IqiFKhnN7R4FkWS9bsLwIrOKm184OVlZ4tF7jd8iku7bmYm9boT0k7SO3j8zAoObVTdZWcFa1FwlXEKf4Z3frL6opOomvHjptMRP06ulOdbfN7J7+Z1NJB695/ise24nZzW+THyxZZ7F6SFdXWeDJ1H+4FZ+Z2VRIPMwVELv96Ph9g212rUqEx16v9bI9Aq/HuK09agKokr5gFvPUnYWBfKrKFxCn+EiYtmjz+zLFZIgOu8vbnn0kaobV6JylXAJfboNcIjVspbpLzbBmLRV3QTQG/UDV6tuApiHoRJ6vx8Ot2+o1Tp3L65W3h3BQLuWrp8ET6L8wa0JAnOyxKP3HL9Fyu0barQoshGZ6NFnoMnNigA6o77gVrnMIvHoPcf3xtg031ARTcFtmuPIWMDNqptgfhU5Enoi2kREXxLRciKq0DlORPQ/RFRJRCuJyNuVlZvZgCnRecFtAuiM+oJbTlNQR8Y6WmFK4Wxm3mlwbDyAvsrfKABPK/89we9+5em+n160SRC8fYFlYt//5kS6y3S6cKtUZlHzHBl7CYDnOcJnAAqIqItXifk+BYJU3QhCKHCte2UWYevuQ67E5SZOhZ4BzCeipUQ0Wed4NwBbNb+rlH0JENFkIqogoora2lpbxmT6gCkh+Fh9t2fayzjdzku6cLMx9kCSKSbShVOhH83MwxGpormdiM6MO66XfboliZmfYeYyZi4rKiqyZYzfvVD0nonidi18tcFtvM7DTBM+p2TaKmDNU+bdK/dBXcfZkdAzc7XyfweANwCMjAtSBaCH5nd3ANVO0kyG/90r01x1k9bUBTNk2uIwzdShd+0+hU7oiSifiNqq2wDOB7AqLtgsANcqvW9OAbCPmbfbtjaVTV5FbEAzfSYEKwTzuTekuXavdLPqJog46XVTDOAN5ZMnB8AMZp5LRLcCADNPBTAHwAQAlQAOAbjBmbnJCWgeC82YgDp4hjRXj/6ISyORg7pGhG2hZ+aNAIbo7J+q2WYAt9tNwzrNrCO9BwSzmAYHqx6v6uH1K26LdTUHvDDJVUJYpE2x51CdK/EEdY2IUI2MNeK2Mb09iTfddfR+f8KM6WevkVyLkyw7sUs7x+n7DQH4+uEJ+MMPBqXbFFOku0hnOgHV+eYh9F41iDW3ZyLdn6XpTh+wPuAriyiwDXT6NLdS7S45WcGU1GBalSGk3aNvZgShodBy1Y0i8plSVDLFzqAiVTdpxIxDb+f+pPuhkGmKg09An3tDROedkR3Q+x0qoXciUnY+r7sVtDK1L5Ooa/D2UXfilWfiPDlNA3EyQ0LlK9UZQa2mC5XQ52Xbvxw7IqIn6kN6FNi2wUvevuP0dJtgmZ6dWqfbBMcE9Ln3nAsHezalVaAJaj/6UAl9roHQm8n6gN4f18jLybxbXdAqN90mOEb16DPFUXbLztxm+oYTj94HjMTMTNkN6pvYLYLQkAlkjuC5hfrcZ8pluzWpWaZcr9tIY6wPOPFa3XoTB7Ue2Y05stMt0kF4F1vNg0xzINy6xUFcN9UPgtAFWI9QCX27lk0Dfc/oW4iWuZHL86rqJiheshmCYuuQHu3NB84wkdQj04TerWLSXBt1F663N8W614RK6Nu2bKrT/fu1ZVhy/3lY9puxps7NuAcS1nTQ7HM3qJuxEDvNooU/PxsTh3U3f4Ji9NWjSpwlHAAyRffcMtPLee1vPr1Xwr6XbznVs/SskGoqhQ/uHYPP7z/PJ2uacGMpwUDSMjcbLXOzIz9MKFQm9qO3glkPK5nn7/R6S2z2oilonbmNsgEdKGmIWwLt5XJ6ndu3TNg3sldH7xJ0kV6F+WlJN8OKoXfY8egzSOczus40qO0eZsiK9rrJjBvgXh19Zlxvc0GEXsHv1ancwIoAmhWaZMF8zyIlwQy8NVHUeZYyRfbc0udMdizCSLMQejM6cVzbzF4CMBUdWueZCpfsQU+Xk5ZpOl+kLUsZZrxbjfbdChKrV9wiXdUfmUyzEHozRff4IuuFR+sl/+ScPpbPN8M7d+qPaO2tsff600pTxlNamI9P7zsnZTj1im4583gz5nmK2m4SxK+tZFMmT7lqeHTbSSP/a7c5b2D8+QX9LIXXvsyfunq4ccAUlJVG6syHlRTg3z87K7pfr1zddW5fS3Gfe2KxpfBmuk5bzaf3fnpW6kABwslSgj2I6AMiWkNEq4noLp0wY4hoHxEtV/4ecGaudzgVk3YejeIcaNALpmtBq2iVRtuW5trUu7Q3Pw/P2AGJD5Pfeqv2SbaarpfzDak6mMxjbaV2AoBmwJQNR7lfZ+fz7w/pXhBjTyq0ZrZpYa+vxvGF+dF4uha0wvFFbXBa704AgDNPSFzT4Een9IxuF7Yx9+Vp1Z5UtLf4/HbRaRAOMk563dQD+BkzL1PWjl1KRAuY+au4cIuY+SIH6TgmeP5gcFG/UvTE1e+qm3hvOFj30dgardnRxtg01dITWUvb7UbjIEw/YuaKrA6YDOBHZlJse/TMvJ2ZlynbBwCsAdDNLcOE9BKE6pLsAM7lruaKWV1wko9u3AFCevIvU3oZqVjtXm3UESLUI2OJqBTAMACLdQ6fSkQriOhdIjrJjfS8wM7t0SvK6dBHo2fqhOI2tuMKQnFN6JoYgJePmmHEc/AAABVjSURBVNXJ6t4bNF1Oos+9Dd2LTyLZYDYjOuTnRePpV9w2Zfgh3d2dfdXMi87ru2rmpdOupbWqG6PLGtzd+j3yA8dCT0RtALwG4G5m3h93eBmAnsw8BMDfALyZJJ7JRFRBRBW1te4OI7aiD1eUWRi56QLaHhrjTuqcNOwFJ8XWm2sv62djT0gIr20UjOeFm0dh7e/G4dpTe+oed8Oj//EZiSMYraD2xc52OOroXzeNwq1nubtucDKTjjU0jRayko1v3T466fF/3TQq6fFHfzA4uv3zC/ph5uRTcGKXdtFZXaddXxYTfnrcbwCYfsPJpmy9+zxzDajmqm7ckfpP7zsHC+45M/qcWPGue3RsjVduPVV31K0Vfvf9gabCLf7VuY7SsYqjJ4iIchER+ReY+fX448y8n5kPKttzAOQSUaFeXMz8DDOXMXNZUZHzRaitopa103rrmqeLG1+nI0ubRvQVtk3eEJWswahYaRy6bET3aFfR/CSNaaP7FKJlbjZOOb5TzH61PteNL9CenZx1g6tXPOMch8v29OjYCuXj+6PPcda/cIxIJk7H6jVCD/P96OPXMoivHmifYoTw5RonpUVOVtO9VRJvG+e19ilK9PDNerad8pOUVbL2bLjVEtOlfSv0LW6LE5QvlwmDInPimzGFCDi5tGPTaPoUGF2f2Ybv4nb+NuY66XVDAKYBWMPMjxuE6ayEAxGNVNLbZTdNP7DUcOVGgi7MV6O1WRvG1kRt0aob50rvtJ5WrQLJdtJ1Bd6MrE0WY4zQO0ja6rnal482qzh63L4t8aS6E2qZNJOm2zVy0TUAmoxJfY7FMmKkE0Fo29LDSa+b0QCuAfAlES1X9v0KQAkAMPNUAJcBuI2I6gEcBjCJA9pKk67b4yRdozJlpawZBXWjvDq90arQO23g8vvZOxrj0UdIZ6mP9qSK2+8kX1Jdj5W2HrdfxOpoZJmGoQnbQs/MHyHFfWTmJwE8aTcNO+RlZ8XUkZqlq9L3Oj/PfJb07NgaK7butZyWFm2fbyv93Lt3aB2t3z+ubfLPwL4WqiySPRrdOljrn26l/7YeJR1bY/nWvdE8KumUjxVV+1Ke16swH9v2HnaUthFm/BTtuIYSpfrKavdKNztv9CluixVb9yZ0IWyRa7/mtlVe8nvbQana6WpmTIPLL2J1obkWykZpYT427vwu6TnW74++0QH1Y8M3e+WHPx+T8JCb8RhuOas3enZqjTH9jks4NqRHAZ744VBs33sYV/2jqWPRHy4dhB+fcTzyW2Tj32t3RPcv/PnZqD14FD94+hMAwKJfnI0zHv0AQGSWvSXf7I5u/+z8fvjfhRsjNpx5POZ/VWPq5fHg9wYgLzsLbVrkYvzAznhtWZVuuH/dNAr9uzTVxc6/50zUJ1kAXC2o2oL8yq2nYtW2fbhyZAkmDuuGiU9Fruv1/3caLlW24/nHtWWGs04Wt2uBmv1Hk18ggIcvHYSLh3TFeQOK8fdry3Bq7054e0U1AOCfN43ENdOWJJwzuk8nTLu+DJOe+QxfbInko14f6dP7FOKjyp2GaT9/40hcOz0xfhWjT/RfjusfHRwEAI9cOsgwjmQs+mXqUcwAcNWoElw2ojsK842n8Hj2+pPx5bZ9aB3nxKRyEJKhHYQ0647RaGRg6eY9+N07kWE0Y04owtNXD7c8itUsb90+Gi1zs3HBEwsTjqmrPB3XriWmX1+GstKOGPzQ/JgwE4d1w7knHoc7ZnwBwPwXV1nPDvjJuX1j6vKn/ijS6aFdq1zbc/wM6NIOX22P78viHqGbAqFrQSucXGp9ytL2rXLxw5NLdFepGtytPXoV5uO0PrENtfktcjCoe3scXxTrMZd0ao0RPTtEf/fo2DQ97/iBnaONbveN7x+TXk52Fi4clLznjUrL3GxkZREuHNwlYfky7Yvt9L6FKGzTJAInFLfFgK5NIy7j9UqvPvfk0o64YXQvtMzNxrCSDlHhTNbd7zydkbXa+MzQpkVONJ6xA4qRr/EijTzFh753ElrkZOPyET2i+/SEPlW1RarGMiPPbXhJQcxLIFmDeDK6aUY+6zHp5Mj1DezaHsNLOiSdArpDfp7uiFS3GNy9AEN7FOAsTRpEhPGDupha9c1OFdKQHgUoLdS/Zm233HP6F+s2ME8Y1AXn9G9y6lIJ/f9eMwKAfl6OG9gF4wZ2UTpyNEVUPr6/mUsBYHFBHhuETujDjBlnwa0RmAFtU0oJR/835YOdUb5289HoLDtf9GYmmAvWfbLbWG4Po+oTtY6+IYl7zcwxDpF6v43uu9n7F9MIbqXnkcc3slkIvR8Pg6UHmdVClYjdhiltQVE3zdmk79InsyNtDdcWbqT22rN1znPaUGf1wXS75jbaqyXFca9wM3a7Imd0lvqF25DiHmuTNVscUlmqfbdYuQdeD6htFkJvdcIiN4n/dE11P9u1Mv7U75ik77I6AVXS/s0mMNMVz2yjrFGfZC+9l6ZeLtrRqYnpFaWYljovW//RMMpnNQmjK2udovFSRduukSybOip18m0MJrRLT5ugscHq2A69MmG3NKjlqHtceSxQnvdkz33rvJyYctEY7Zmkb030vrdJXm5aaJ53K/fA66VMQ9cYq8ePTumJnGzC/W+schzXgnvOxNi/JDYA6fH3a8vQv7POsHN1QQ3l51u3j44ODrpsRA/UNzJO6to+2h/75VtOxZvLt+GnY0/AM0rDbTwXnFSMP1w6CBOHdcM7K7cDsOZ1dcrPw//dcDLufDHSOJVskqeXbzkVSzfvQW52Ft68fTQamfHFlr3IySI8OGt1NNzAbu3x58uH4N5XVsScr3aX/MW4fji9TyHqGhqRnZWF70/52ILF+nDcfwAJbRgA8NtLBuLk0o7IIsKv3vgy4Xh8u8trt52G7CzCkO7to/n87CebAERGpL66tApLNu02zPOynh3w6A8G4xevrYzZ//uJA3HK8Z2wZdchAJFpqVdXRxrlWuRkY8pVw3H7jGUJ8d19Xl+UdGyNCQO76KZXb1BtMXZAMRZ8VZOwf8E9Z+Lb/UcMrAd6dmqNzYqNedlZBnJoXOL+e+IgnNanEMNLEqdYsDqhmPa8p64ejuElHWL2TxzWDUfqG2LaaVT+8sMhOFrXiNF9OsXkkV6Vn5bRfTrhkUsH4eKhXaP7tM+tSmlhPrq0b4nt+4zzMp4nrxqGpZv3mA5vh2bh0WdnEa4epT/U3yp9TcwXojJ2QHFMQ6wRQ3oURBtvVVuH9iiIroM5sldHPDxxUNJRe0SEK0eWoGVutiUPSXUkhvfsgMHdC0z1XS9u1zI66nBojwIML+mAm07vhet05sW/bITxlBKd27XE4O4FGNGzI4b2cHeOlZiqm6zYFysQ8dB+dEpPXKWz8LjetBAjenbA0B4FMfmscsXJPVK6pUQUCRfH1aN6ondRG5ytNAx279AaF2imwrhwsL6Qt8zNxlWjSnRfYkDsoC0tpQaNtn2L2+KMvvoNtqf3KUz6NRmPnkVtWuTgirIeul9zWqG36thOGNQlYQ3ZLOUZ0msI7tyuFSaNLAERxXjRqbxvIsKkkSUxPZe0z62W7w+zNrfjRYO7pg7kkGYh9M0VK3161aAJo1EzlMaYqpvE48muzqjaJpMwGksSxJGbem0oXhEzD1HMEffquvSqD9NN5pfoDMOPB81KGvEhmzz6zC4a2mfMav2nk4FEQcHIow8iRl8lXmA0PYWba9wG8F0qQm+G1i2cjfDU4nS0qBnUBj07XrkfHr3asNUix/28UO1uGbPKU2Sf0QCuePKyrdul9tXODcjXgFH/dbONwkCsYGkbNjvk6+ej6hw46fzQweQ9sou2WGsdIrWqMn5QmRMC5NA3j8bYeH4/cSB6dcpH1d7D6F2Uj32H62KO/98NJ6NNixws27wHu787hrvPjZ0C+KXJp+CIRY/pz5cPwcL1tbh0eDe8sGSLbdunXDU85eLI0647GQu++tbSlArqp6vaJS07i/DuXWegcsdBS/b9ddJQ9I9bAm/Gj0ehUZNd5eP7o2tBK4wfGDs4bMbNo3DPy8vx2OVDUWdjGouHvjcAvZVG1AsHd4k2sqriP+Xq4Zj64Ub079w2xot8587TsXX3ITz09mrU7D8aFcm/X1uGHz9fgdf/32kp0/7TZYPx2rKqaGPj/HvOxJokIx3/Omlo0nVnjZhx86iklQyPXjYYS77ZjTsN1jC+9aze+KRyF356fqRMv3DzqAQP9LHLhyQsjfn4FUNx47OfY3hJB9wwuhQ1Og23pYX5+K+LT0q4r/GoZeRofQOq98bG89yNI/FqRWSU977DdejcviW6d2iFeatrcHlZd+w8eCxp3EbM+PEoPDp3Hc6OG/n+qwn9sXX34Wgb0c1n9MLKqr24ZGg3VO89jAFd22H3d9bS1M5YOvfuM7C+5iCyiRKe26k/GoGuHi6irqVZCn2qhlm1MBiN4BwVN7WvGS4b0T1pw6RZjBrntHRu3xLXnFpqKr74ap6oR0+EE7u0syxGlwxNbIiKn/o5v0UObhuTOD/8aX0KsfhX51lKLzebUNfA6Nq+Ja4f3Su6X+tVqpp+XNuWeOB7AxLiGNitPQZ2a4/F3+zGs59sigr92AHF2PTIhabs6JCfh5vPaFr4+gTNdLl66OWTGeJHZ8dzRVkPXFGW2Oir0jI3Gy/f2rTo+Gid+H6glNNFG5rWheiYn4c3NfPlq0If3xip1yAfj/baB8c9El3at8KdOouFjzPoXWSW03oX4s3bE6918pmx5bBFTjb+95rEefqtoB3H0r9zuwTHR2VciheimwTjO1NIO+pnZqMq9A7ngPcL9cWUm2Sovdk2C7WhroWJYfuCYEQQnxwp0c2c+EJZr/HoMwG1Ec2NtTqP1kWE3sz8LIKQinQtCK+HlGiXUFdBMiMSLZUwXo+GM0N2nN3q9LNB73Sj5p1a/x6/epId1HZUPxrMMwH1Za/3haO2ccjXTyItlPJjxWFQy1yuV1/SzBy4vxEjRrAXvPz5Fl68cZcncR+pq+eHZ3/FB4/UpQy7fe9hfmzeWm5sbPTEFivUNzTyH99dwzsPHGFm5g01+3nqh5VptsqYaYs28lfV+7ixsZH/+t563rLrO358/jretudQQtjV2/bx9I82mo57z3dH+Q9z1nBdfYOp8C8t2cJLvrFWnj7/Zhe/tGSLpXPeXrGNP1hbY+kcN2hoaOQ/zV3LO/YfSTjW2NjIj81by9/uO+xKWjOXbOaKTd48m35Ts/8w3/f6Sq7Zbz5vqvce4vteX8m7Dh61nS6ACjbQVOIg9QFSKCsr44qKinSbIQiCkDEQ0VJm1m1Jdro4+DgiWkdElURUrnOciOh/lOMriWi4k/QEQRAE6zhZHDwbwBQA4wEMAHAlEcX3XRsPoK/yNxnA03bTEwRBEOzhxKMfCaCSmTcy8zEAMwFcEhfmEgDPK1VInwEoICJnHWIFQRAESzgR+m4Atmp+Vyn7rIYBABDRZCKqIKKK2tpavSCCIAiCDZwIvV4/oPiWXTNhIjuZn2HmMmYuKyrybn1LQRCE5oYToa8CoB1r3R1AtY0wgiAIgoc4EfrPAfQlol5ElAdgEoBZcWFmAbhW6X1zCoB9zLzdQZqCIAiCRWxPasbM9UR0B4B5ALIBTGfm1UR0q3J8KoA5ACYAqARwCMANzk0WBEEQrBDIAVNEVAtgs83TCwHsdNEctxC7rCF2WSOodgHBtS1sdvVkZt0GzkAKvROIqMJodFg6EbusIXZZI6h2AcG1rTnZJTMSCYIghBwRekEQhJATRqF/Jt0GGCB2WUPsskZQ7QKCa1uzsSt0dfSCIAhCLGH06AVBEAQNIvSCIAghJzRCn2pufI/T7kFEHxDRGiJaTUR3KfsfIqJtRLRc+ZugOec+xdZ1RHSBh7ZtIqIvlfQrlH0diWgBEW1Q/nfw0y4i6qfJk+VEtJ+I7k5XfhHRdCLaQUSrNPss5xERjVDyulJZh8HRunAGdv2JiNYq6zu8QUQFyv5SIjqsybupPttl+d75ZNdLGps2EdFyZb+f+WWkD/6VMaOlpzLpD5GRuV8DOB5AHoAVAAb4mH4XAMOV7bYA1iMyR/9DAO7VCT9AsbEFgF6K7dke2bYJQGHcvkcBlCvb5QD+6LddcffuWwA905VfAM4EMBzAKid5BGAJgFMRmczvXQDjPbDrfAA5yvYfNXaVasPFxeOHXZbvnR92xR1/DMADacgvI33wrYyFxaM3Mze+ZzDzdmZepmwfALAGBtMxK1wCYCYzH2XmbxCZImKk95bGpP+csv0cgO+n0a5zAXzNzMlGQntqFzMvBLBbJ03TeUSRdRbaMfOnHHkin9ec45pdzDyfmeuVn58hMlGgIX7ZlYS05peK4vleAeDFZHF4ZJeRPvhWxsIi9KbnvfcaIioFMAzAYmXXHcpn9nTNp5mf9jKA+US0lIgmK/uKWZlcTvl/XBrsUpmE2Icv3fmlYjWPuinbftp4IyJenUovIvqCiP5DRGco+/y0y8q98zu/zgBQw8wbNPt8z684ffCtjIVF6E3Pe++pEURtALwG4G5m3o/I0om9AQwFsB2RT0fAX3tHM/NwRJZ1vJ2IzkwS1td8pMispxcDeEXZFYT8SoWRLX7n3f0A6gG8oOzaDqCEmYcB+CmAGUTUzke7rN47v+/plYh1KHzPLx19MAxqYINt28Ii9Gmf956IchG5iS8w8+sAwMw1zNzAzI0A/o6m6gbf7GXmauX/DgBvKDbUKJ+B6qfqDr/tUhgPYBkz1yg2pj2/NFjNoyrEVqN4ZiMRXQfgIgBXK5/wUD7zdynbSxGp1z3BL7ts3Ds/8ysHwKUAXtLY62t+6ekDfCxjYRF6M3Pje4ZS/zcNwBpmflyzX7s+7kQAam+AWQAmEVELIuqFyOLpSzywK5+I2qrbiDTkrVLSv04Jdh2At/y0S0OMl5Xu/IrDUh4pn94HiOgUpTxcqznHNYhoHIBfAriYmQ9p9hcRUbayfbxi10Yf7bJ07/yyS+E8AGuZOVrt4Wd+GekD/CxjTlqTg/SHyLz36xF5M9/vc9qnI/IJtRLAcuVvAoB/AvhS2T8LQBfNOfcrtq6Dw1b9JHYdj0jr/QoAq9V8AdAJwPsANij/O/ppl5JOawC7ALTX7EtLfiHystkOoA4Rr+kmO3kEoAwRgfsawJNQRp67bFclIvW3ajmbqoT9gXKPVwBYBuB7Pttl+d75YZey/1kAt8aF9TO/jPTBtzImUyAIgiCEnLBU3QiCIAgGiNALgiCEHBF6QRCEkCNCLwiCEHJE6AVBEEKOCL0gCELIEaEXBEEIOf8fTDV7/IFZ2TMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(tm)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([7.5, 9. , 7.5, 7.5, 4.5, 7.5, 7.5, 7.5, 3.5, 7.5])"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tm[20:30]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>一级部门</th>\n",
       "      <th>二级部门</th>\n",
       "      <th>填写人</th>\n",
       "      <th>日报日期</th>\n",
       "      <th>归属项目</th>\n",
       "      <th>工作类型</th>\n",
       "      <th>工时</th>\n",
       "      <th>工作内容</th>\n",
       "      <th>关联禅道任务</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>6.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1991</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1992</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1993</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1994</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1995</th>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.5</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>1996 rows × 9 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "      一级部门  二级部门  填写人  日报日期  归属项目  工作类型   工时  工作内容  关联禅道任务\n",
       "0      0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "1      0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "2      0.0   0.0  0.0   0.0   0.0   0.0  6.5   0.0     0.0\n",
       "3      0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "4      0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "...    ...   ...  ...   ...   ...   ...  ...   ...     ...\n",
       "1991   0.0   0.0  0.0   0.0   0.0   0.0  0.5   0.0     0.0\n",
       "1992   0.0   0.0  0.0   0.0   0.0   0.0  7.0   0.0     0.0\n",
       "1993   0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "1994   0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "1995   0.0   0.0  0.0   0.0   0.0   0.0  7.5   0.0     0.0\n",
       "\n",
       "[1996 rows x 9 columns]"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [],
   "source": [
    "df = pd.read_excel('./emploee.xls')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>一级部门</th>\n",
       "      <th>二级部门</th>\n",
       "      <th>填写人</th>\n",
       "      <th>日报日期</th>\n",
       "      <th>归属项目</th>\n",
       "      <th>工作类型</th>\n",
       "      <th>工时</th>\n",
       "      <th>工作内容</th>\n",
       "      <th>关联禅道任务</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>测试部</td>\n",
       "      <td>朱晓盈</td>\n",
       "      <td>2020/3/30</td>\n",
       "      <td>智能交互产品研发项目</td>\n",
       "      <td>测试工作</td>\n",
       "      <td>11.0</td>\n",
       "      <td>1.性能测试及报告整理\\n2.jenkins配置每日ci-执行测试用例\\n3.机器人外呼bug验证</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>228</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>智能中台产品部</td>\n",
       "      <td>张剑</td>\n",
       "      <td>2020/3/26</td>\n",
       "      <td>宁波银行信用卡中心质检分析项目</td>\n",
       "      <td>开发工作</td>\n",
       "      <td>20.0</td>\n",
       "      <td>宁波银行项目上线</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>249</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>测试部</td>\n",
       "      <td>朱海斌</td>\n",
       "      <td>2020/3/26</td>\n",
       "      <td>江苏省12345市长热线项目</td>\n",
       "      <td>实施工作</td>\n",
       "      <td>12.0</td>\n",
       "      <td>安装部署测试环境</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>385</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>前端开发部</td>\n",
       "      <td>吴娜</td>\n",
       "      <td>2020/3/24</td>\n",
       "      <td>江苏联通邮政智能客服项目</td>\n",
       "      <td>开发工作</td>\n",
       "      <td>12.0</td>\n",
       "      <td>客户环境联调，整个流程测试。活动接口联调</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>476</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>前端开发部</td>\n",
       "      <td>吴娜</td>\n",
       "      <td>2020/3/23</td>\n",
       "      <td>江苏联通邮政智能客服项目</td>\n",
       "      <td>开发工作</td>\n",
       "      <td>11.5</td>\n",
       "      <td>App优化，客户环境联调，扫码接口联调</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1160</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>智能中台产品部</td>\n",
       "      <td>杨成龙</td>\n",
       "      <td>2020/3/12</td>\n",
       "      <td>智能中台产品研发项目</td>\n",
       "      <td>开发工作</td>\n",
       "      <td>10.5</td>\n",
       "      <td>河南etc项目一些问题讨论，联通项目改动评估及工时评估。</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1365</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>智能中台产品部</td>\n",
       "      <td>韩栋</td>\n",
       "      <td>2020/3/10</td>\n",
       "      <td>陕西广电智能语音质检</td>\n",
       "      <td>开发工作</td>\n",
       "      <td>11.5</td>\n",
       "      <td>es超时问题排查;数据清理</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1498</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>测试部</td>\n",
       "      <td>金锐</td>\n",
       "      <td>2020/3/9</td>\n",
       "      <td>智能交互产品研发项目</td>\n",
       "      <td>测试工作</td>\n",
       "      <td>10.5</td>\n",
       "      <td>机器人正则bug回归，完成失败用例一个；\\n康源留言优化测试和支持线上回归测试</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1915</th>\n",
       "      <td>智能产品部</td>\n",
       "      <td>产品中心</td>\n",
       "      <td>姜涛</td>\n",
       "      <td>2020/3/2</td>\n",
       "      <td>部门管理</td>\n",
       "      <td>其它工作</td>\n",
       "      <td>12.0</td>\n",
       "      <td>1、三月份需求规划整理\\n2、二月份需求跟进</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       一级部门     二级部门  填写人        日报日期             归属项目  工作类型    工时  \\\n",
       "16    智能产品部      测试部  朱晓盈  2020/3/30        智能交互产品研发项目  测试工作  11.0   \n",
       "228   智能产品部  智能中台产品部   张剑  2020/3/26   宁波银行信用卡中心质检分析项目  开发工作  20.0   \n",
       "249   智能产品部      测试部  朱海斌  2020/3/26    江苏省12345市长热线项目  实施工作  12.0   \n",
       "385   智能产品部    前端开发部   吴娜  2020/3/24      江苏联通邮政智能客服项目  开发工作  12.0   \n",
       "476   智能产品部    前端开发部   吴娜  2020/3/23      江苏联通邮政智能客服项目  开发工作  11.5   \n",
       "1160  智能产品部  智能中台产品部  杨成龙  2020/3/12        智能中台产品研发项目  开发工作  10.5   \n",
       "1365  智能产品部  智能中台产品部   韩栋  2020/3/10        陕西广电智能语音质检  开发工作  11.5   \n",
       "1498  智能产品部      测试部   金锐   2020/3/9        智能交互产品研发项目  测试工作  10.5   \n",
       "1915  智能产品部     产品中心   姜涛   2020/3/2              部门管理  其它工作  12.0   \n",
       "\n",
       "                                                   工作内容 关联禅道任务  \n",
       "16    1.性能测试及报告整理\\n2.jenkins配置每日ci-执行测试用例\\n3.机器人外呼bug验证    NaN  \n",
       "228                                            宁波银行项目上线    NaN  \n",
       "249                                            安装部署测试环境    NaN  \n",
       "385                                客户环境联调，整个流程测试。活动接口联调    NaN  \n",
       "476                                 App优化，客户环境联调，扫码接口联调    NaN  \n",
       "1160                       河南etc项目一些问题讨论，联通项目改动评估及工时评估。    NaN  \n",
       "1365                                      es超时问题排查;数据清理    NaN  \n",
       "1498            机器人正则bug回归，完成失败用例一个；\\n康源留言优化测试和支持线上回归测试    NaN  \n",
       "1915                             1、三月份需求规划整理\\n2、二月份需求跟进    NaN  "
      ]
     },
     "execution_count": 45,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[df['工时']>10]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.6"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
